// 维护所有和角色相关的接口(5个)

import request from '@/utils/request'

// 添加 addRole({ name, description, state })
export const addRole = (data) => {
  return request({
    method: 'post',
    url: '/sys/role',
    data
  })
}

// 删除 delRole(123)
export const delRole = (id) => {
  return request({
    method: 'delete',
    url: `/sys/role/${id}`
  })
}

// 修改 updateRole({ id, name, description, state })
export const updateRole = (data) => {
  return request({
    method: 'put',
    url: `/sys/role/${data.id}`,
    data
  })
}

// 回显 单个详情
export const getRoleDetail = (id) => {
  return request({
    url: `/sys/role/${id}`
  })
}

// 角色列表--查 getRoleList({ page: 1, pagesize: 10 })
export const getRoleList = ({ page, pagesize }) => {
  return request({
    method: 'get',
    url: '/sys/role',
    params: {
      page: page,
      pagesize: pagesize
    }
  })
}

/*
  在实际工作中, 接口函数就是提前封装好的(这个和页面没有直接的关系)

  今天的内容 有点难度 很重要  组织架构的一整个模块的增删改查!!!

  作业: 角色管理  将军赶路 不追野兔(不要丢了西瓜捡芝麻)

  每个人在这个阶段的收货是不一样的!!! 根据自己的程度来
    - 每天练习当天代码!!!
    - 写后面的模块/解决别人的bug

  团队实战(角逐出一二三名)
*/

/**
 * 获取可用的角色
 * **/
export function getEnableRoleList() {
  return request({
    url: '/sys/role/list/enabled'
  })
}

// 给角色分配权限  assignPerm(10, [1,2,3,5])
export const assignPerm = (id, permIds) => {
  return request({
    method: 'put',
    url: '/sys/role/assignPrem',
    data: {
      id,
      permIds
    }
  })
}
